// 引入全局变量
const app = getApp();
Page({
//   页面初始化
    data:{
        freeList:[],
        url:'',
        pageNum:1,
        pages:0, //页面数
        // 节流阀 false表示没有加载数据；true表示正在加载的数据
        isLoading:false
    },
    
    // 封装获取数据的方法
    getData(){
        //如果正在加载数据，直接返回
        if(this.data.isLoading){
            true;
        }
        this.setData({
            isLoading:true
        })
        // 正在加载效果
        wx.showLoading({
          title: '正在加载。。。',
          icon:'loading'
        })
        // 动态调用后端接口
        let that = this;
        wx.request({
          url: that.data.url + '/free/selectAll',
          data:{
            pageNum:that.data.pageNum,
            pageSize:9
          },
          success(resp){
              that.setData({
                  freeList:[...that.data.freeList,...resp.data.data.list],
                //   获取总页数
                pages:resp.data.data.pages
              })
          },
          complete(){
            //   关闭正在加载提示
            wx.hideLoading();
            // 关闭下拉刷新
            wx.stopPullDownRefresh();
            that.setData({
                isLoading:false
            })
          }
        })
    },

    onLoad(options){
        // 当页面加载时获取全局的url数据
        this.setData({
            // 获取全局的url赋值给当前页面的URL
            url:app.globalData.URL
        })
        // 动态调用后端接口
       this.getData();
    },
    
    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {
        console.log('加载下一页数据');
        // 判断如果数据正在加载中，则拦截
        if (this.data.isLoading) {
            return;
        }
        // 上提，就是让pageNum+1即可
        this.setData({
            pageNum: this.data.pageNum + 1
        })
        // 判断如果是最后一页了，则提示不在加载了
        if (this.data.pageNum > this.data.pages) {
            wx.showToast({
                title: '没有更多数据了.....',
            })
            return;
        }
        // 再次查询
        this.getData();
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {
        // 初始化数据
        this.setData({
            pageNum: 1,
            articleList: [],
            pages: 0
        })
        // 查询
        this.getData();
    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {

    }
})
